/*
==========
Fixture.h - Contains definition of Fixture class
License: BSD
==========
*/
#ifndef FIXTURE_H_INCLUDED
#define FIXTURE_H_INCLUDED

#include <string>
#include <vector>

#ifndef TEST_H_INCLUDED
#include "Test.h"
#endif // TEST_H_INCLUDED


/*
==========
Class: Fixture
- Base class that contains a series of unit tests to perform
- Allows user to add specific variables / initialization 
==========
*/
class Fixture
{
	typedef std::vector<Test*> TestList_t;
	TestList_t m_tests;

public:
	void                    AddTest ( Test* tst );
	TestResult              RunTest ( int idx );
	std::vector<TestResult> RunAllTests ( );
	int                     GetNbTests ( ) const;

};


#endif // FIXTURE_H_INCLUDED
